﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum СводныеСостоянияЭД
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"524bdf58-abca-44c4-8e2f-d95cae1bb368\", \"Представление\":\"ВсеВыполнено\"}")]
		ВсеВыполнено = 0,//Все выполнено
		[EnumMember(Value = "{\"Ссылка\":\"28e1a54e-e80b-4984-be5c-0bc9f4b9ce86\", \"Представление\":\"ДействийНеТребуется\"}")]
		ДействийНеТребуется = 1,//Действий не требуется
		[EnumMember(Value = "{\"Ссылка\":\"e79bd297-8f99-427d-8925-24d40a9569e7\", \"Представление\":\"ПригласитьКОбмену\"}")]
		ПригласитьКОбмену = 2,//Пригласить к обмену
		[EnumMember(Value = "{\"Ссылка\":\"fdf5c070-7dc1-46aa-a189-3aff358f957f\", \"Представление\":\"ТребуютсяДействия\"}")]
		ТребуютсяДействия = 3,//Требуются действия
		[EnumMember(Value = "{\"Ссылка\":\"b2a8767b-b763-4f67-ba27-cfd36b99523b\", \"Представление\":\"Отклонен\"}")]
		Отклонен = 4,
	}
	public static partial class СводныеСостоянияЭД_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ВсеВыполнено = new Guid("5cd92f8e-1bae-68b3-44c4-abca524bdf58");//Все выполнено
		public static readonly Guid ДействийНеТребуется = new Guid("c90b5cbe-b9f4-86ce-4984-e80b28e1a54e");//Действий не требуется
		public static readonly Guid ПригласитьКОбмену = new Guid("d4242589-950a-e769-427d-8f99e79bd297");//Пригласить к обмену
		public static readonly Guid ТребуютсяДействия = new Guid("ff3a89a1-8f35-7f95-46aa-7dc1fdf5c070");//Требуются действия
		public static readonly Guid Отклонен = new Guid("d3cf27ba-996b-3b52-4f67-b763b2a8767b");
		public static СводныеСостоянияЭД Получить(this СводныеСостоянияЭД Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static СводныеСостоянияЭД Получить(this СводныеСостоянияЭД Значение, Guid Ссылка)
		{
			if(Ссылка == ВсеВыполнено)
			{
				return СводныеСостоянияЭД.ВсеВыполнено;
			}
			else if(Ссылка == ДействийНеТребуется)
			{
				return СводныеСостоянияЭД.ДействийНеТребуется;
			}
			else if(Ссылка == ПригласитьКОбмену)
			{
				return СводныеСостоянияЭД.ПригласитьКОбмену;
			}
			else if(Ссылка == ТребуютсяДействия)
			{
				return СводныеСостоянияЭД.ТребуютсяДействия;
			}
			else if(Ссылка == Отклонен)
			{
				return СводныеСостоянияЭД.Отклонен;
			}
			return СводныеСостоянияЭД.ПустаяСсылка;
		}
		public static byte[] Ключ(this СводныеСостоянияЭД Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this СводныеСостоянияЭД Значение)
		{
			switch (Значение)
			{
				case СводныеСостоянияЭД.ВсеВыполнено: return ВсеВыполнено;
				case СводныеСостоянияЭД.ДействийНеТребуется: return ДействийНеТребуется;
				case СводныеСостоянияЭД.ПригласитьКОбмену: return ПригласитьКОбмену;
				case СводныеСостоянияЭД.ТребуютсяДействия: return ТребуютсяДействия;
				case СводныеСостоянияЭД.Отклонен: return Отклонен;
			}
			return Guid.Empty;
		}
	}
}